package _22_jvm;

/**
 * 自定义 类加载器
 *      1. 继承 ClassLoader
 *      2. 如果需要打破 双亲委派机制，重写 loadClass() 方法和 findClass() 方法
 *      3. 如果遵守 双亲委派机制，只需重写 findClass() 方法
 */
public class MyClassLoader extends ClassLoader {

    @Override
    public Class<?> loadClass(String name) throws ClassNotFoundException {
        // 是否遵守 双亲委派机制
        return super.loadClass(name);
    }

    @Override
    protected Class<?> findClass(String name) throws ClassNotFoundException {
        // 加解密
        // 从指定位置加载 class
        return super.findClass(name);
    }
}
